package finalED.util.Const;

/**
 *
 * @author Oswaldo.C, Diego Martínez
 */
public enum Estado {

    AGUASCALIENTES("Aguascalientes", 727, "aguascalientes.avl"),
    BAJA_CALIFORNIA("Baja California", 1619, "bajaCalifornia.avl"),
    BAJA_CALIFORNIA_SUR("Baja California Sur", 421, "bajaCaliforniaSur.avl"),
    CAMPECHE("Campeche", 769, "campeche.avl"),
    CHIUAHUA("Chihuahua", 2729, "chihuahua.avl"),
    CHIAPAS("Chiapas", 8147, "chiapas.avl"),
    COAHUILA("Coahuila", 1777, "coahuila"),
    COLIMA("Colima", 467, "colima.avl"),
    DISTRITO_FEDERAL("Distrito Federal", 3313, "distritoFederal.avl"),
    DURANGO("Durango", 2129, "durango.avl"),
    GUERRERO("Guerrero", 4051, "guerrero.avl"),
    GUANAJUATO("Guanajuato", 4657, "guanajuato.avl"),
    HIDALGO("Hidalgo", 3217, "hidalgo.avl"),
    JALISCO("Jalisco", 5813, "jalisco.avl"),
    MICHOACAN("Michoacán", 2833, "michoacan.avl"),
    ESTADO_DE_MEXICO("Estado de México", 7691, "estadoMexico.avl"),
    MORELOS("Morelos", 1087, "morelos.avl"),
    NAYARIT("Nayarit", 1171, "nayarit.avl"),
    NUEVO_LEON("Nuevo León", 2707, "nuevoLeon.avl"),
    OAXACA("Oaxaca", 907, "oaxaca.avl"),
    PUEBLA("Puebla", 4481, "puebla.avl"),
    QUINTANA_ROO("Quintana Roo", 809, "quintanaRoo.avl"),
    QUERETARO("Querétaro", 1451, "queretaro.avl"),
    SINALOA("Sinaloa", 2687, "sinaloa.avl"),
    SAN_LUIS_POTOSI("San Luis Potosí", 3389, "sanLuisPotosi.avl"),
    SONORA("Sonora", 1823, "sonora.avl"),
    TABASCO("Tabasco", 2039, "tabasco.avl"),
    TAMAULIPAS("Tamaulipas", 2447, "tamaulipas.avl"),
    TLAXCALA("Tlaxcala", 761, "tlaxcala.avl"),
    VERACRUZ("Veracruz", 9803, "veracruz.avl"),
    YUCATAN("Yucatán", 1361, "yucatan.avl"),
    ZACATECAS("Zacatecas", 2003, "zacatecas.avl");
    
    
    private final String nombre;
    private final int tamTabla;
    private final String archivoAVL;

    Estado(String nombre, int tamTabla, String archivoAVL) {
        this.nombre = nombre;
        this.tamTabla = tamTabla;
        this.archivoAVL = archivoAVL;
    }
    
    public static int size(){
       return Estado.values().length;    
    }
    
    
    public static String NombreAt(int pos) throws IndexOutOfBoundsException {

        Estado estados[] = Estado.values();
        if (pos < 0 || pos >= estados.length) {
            throw new IndexOutOfBoundsException();
        }
        return estados[pos].nombre;
    }

    public static int tamTablaAt(int pos) throws IndexOutOfBoundsException {

        Estado estados[] = Estado.values();
        if (pos < 0 || pos >= estados.length) {
            throw new IndexOutOfBoundsException();
        }
        return estados[pos].tamTabla;
    }

    public static String archivoAVLAt(int pos) throws IndexOutOfBoundsException {

        Estado estados[] = Estado.values();
        if (pos < 0 || pos >= estados.length) {
            throw new IndexOutOfBoundsException();
        }
        return estados[pos].archivoAVL;
    }
}